Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

432
Visualizações
C# conversión in situ de la matriz `int[]` a la matriz `byte[]`

Tengo una matriz de algún tipo ( short[] , int[] o un tipo base similar). Quiero enviarlo a través de una secuencia, así que necesito que sea byte[] . La solución estándar parece ser crear una nueva matriz byte[] y usar BitConverter . El problema con este enfoque es el rendimiento y el uso de la memoria: requiere asignar toda la memoria nueva, copiarla en la nueva memoria y luego escribir el byte[] en la transmisión.

Tengo muchas ganas de usar la memoria de respaldo original de la matriz int[] como una matriz byte[] para poder enviarla en el lugar. Estoy dispuesto a hacer cumplir el requisito de que el sistema de envío y recepción debe tener el mismo endianness, por el bien de esta diferencia de rendimiento muy obvia y muy significativa.

¿Hay alguna forma de tratar una matriz de int[] o similar, como un byte[] en el lugar?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Si puede usar Span<T> (.net core 3+):

 void Send(int[] data) { ReadOnlySpan<byte> byteRef = MemoryMarshal.AsBytes(data.AsSpan()); _stream.Write(byteRef); }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda